Virtually centralized uplink scheduling

ABSTRACT

A method of scheduling uplink transmissions from a plurality of source user equipments to a base station is disclosed. The method comprises the steps of determining the amount of data in the data buffer of each of the user equipments, comparing the amount of data in the data buffers of the user equipments to obtain, for each user equipment, a relative indicator, the relative indicator indicating how full that user equipment&#39;s data buffer is in comparison to the data buffers of the other user equipments, and scheduling uplink transmissions in dependence on the relative indicators. In this way, each user equipment is given some knowledge of the state of the buffer in the other user equipments. The user equipments are therefore able to make more efficient scheduling decisions. This can improve the throughput and give lower packet delivery delays.

CROSS-REFERENCE TO RELATED APPLICATION

This application is the National Stage of International Application No.PCT/GB2004/004209, filed Oct. 1, 2004, which claims the benefit under 35U.S.C. 119 (a-e) of GB 0323246.9 filed Oct. 3, 2003, which is hereinincorporated by reference.

FIELD OF THE INVENTION

The present invention relates to techniques for scheduling of uplinktransmissions in wireless communications systems. The present inventionis particularly, but not exclusively, applicable to code divisionmultiple access (CDMA) communications systems such as 3G communicationsystems.

BACKGROUND OF THE INVENTION

FIG. 1 shows parts of a wireless communications system, in which aplurality of source user equipments UE1, UE2, UE3 are in communicationwith a plurality of destination user equipments UE4, UE5, UE6 via a basestation BS. Source UEs UE1, UE2, UE3 transmit data packets in an uplinkto the base station BS. Base station BS receives the data packets fromthe source UEs and buffers these data packets for onward transmission ina downlink to the destination UEs. In this example, each wirelesschannel is allocated a separate channelisation code in order todistinguish that channel from the other channels (CDMA).

In the system of FIG. 1 it is necessary to provide some mechanism fordetermining when and how each of the source UEs transmits its data inthe uplink to the base station. In the simplest case, each source UEtransmits whenever it has data to send. This technique may work wellwhen there are low offered loads on the uplink. However, if too many UEstry to transmit data at the same time, the interference levels maybecome unacceptable, resulting in poor quality of service.

Various techniques are known for scheduling of uplink transmissions. Theaim of these scheduling techniques is to manage the way in which the UEstransmit to the base station in order to meet certain criteria, such asinterfere levels, fairness or throughput.

In one scheduling technique, known as time scheduling, a single UE isgiven the full uplink resources for a given period of time. Somemechanism is implemented for determining which UE has the channelresources at any one time. For example, each UE may take it in turns totransmit its data, or else the UE which is given the channel resourcesmay be selected by taking into account the channel quality.

In time scheduling, only one UE transmits at any one time, and so eachUE can transmit within its time window at a high data rate, withoutcausing interference to other UEs. However, time scheduling isinefficient in terms of throughput in the uplink due to the delaysinvolved in informing each UE when it can transmit. Other disadvantagesof time scheduling include loss of interference diversity (whichincreases the interference caused to adjacent cells), less accuratepower control, due to less frequent power control signals, and wasteduplink capacity when a UE has little to transmit.

In another scheduling technique, known as rate scheduling, each UEdecides on the rate at which it transmits data based on informationwhich is signalled to it by the network. For example, in 3Gcommunications systems (W-CDMA), each UE may decide its rate based oninformation from the Transport Format Combination Set (TFCS) signalledto it by the radio network controller (RNC). This rate is usually lessthan the UE's maximum rate, and is set to ensure that interferenceremains within acceptable levels.

SUMMARY OF THE INVENTION

An advantage of rate scheduling is that, since many UEs aretransmitting, interference diversity is maintained, which reducesinterference to neighbouring cells. Rate scheduling also provides theadvantage that call admission and power control mechanisms are moreaccurate than for time scheduling. However, rate scheduling suffers fromthe disadvantage that the Ues will each interfere with each other, sincemany UEs may be transmitting simultaneously.

In the downlink, it is the base station which is responsible forscheduling the packets which are to be transmitted to the variousdestination UEs. The scheduling functions for the downlink are thereforecentralized in the base station. The base station is able to make theappropriate scheduling decisions because it is solely responsible fortransmitting to the destination UEs. For example, the base station isaware of the amount of data in the buffers allocated for eachdestination UE, and thus can make scheduling decisions based on thisknowledge. However, in the uplink the scheduling functions aredecentralized, that is, they are distributed amongst the source UEs. Thesource UEs are not aware of the amount of data in the buffers of theother source UEs. As a consequence, it is not possible for the sourceUEs to make scheduling decisions based on the amount of data which theother UEs have to transmit.

For example, in a situation where only one UE has a significant amountof data to transmit (i.e. the other UEs have little data, or there arefew active Ues actually present), the UE with a large amount of datastill cannot choose to transmit at a high data rate, because it is notaware of the status of the other UEs. In this situation, the UE with alarge amount of data will experience unnecessary delays, because itcould in fact have transmitted at a higher data rate. On the other, handwhen the base station is dealing with many UEs at any one time, a UEwhich is not aware of the situation might choose a very high data rate.This may lead to a high level of interference for the entire uplink, andthus a reduction in the quality of service for all UEs.

In order to prevent the necessary delays that might occur when there areUEs present with only small amounts of data to transmit, it has beenproposed, in the context of 3G mobile communications system, to set abuffer threshold for each UE. This threshold is defined as minimumbuffer requirement before access to channel can be granted. Thus, agiven UE will not transmit until the number of packets in its bufferreaches the threshold. This proposal aims to avoid under utilization ofradio resources in uplink rate scheduling. However, it has been realisedpursuant to the present invention that such a threshold may not on itsown be enough to achieve good utilization of channel resources. Forexample, in a situation in which one UE is just below the assignedthreshold and the other UEs are also all below this threshold, the firstUE will not still not transmit for a while and will experience anunnecessary delay. Avoiding such delays is highly desirable for UEs withreal-time continuous streaming services such as voice or video.

According to a first aspect of the present invention there is provided amethod of scheduling uplink transmissions from a plurality of sourceuser equipments to a base station, the method comprising the steps of:

-   -   determining the amount of data in the data buffer of each of the        user equipments;    -   comparing the amount of data in the data buffers of the user        equipments to obtain, for each user equipment, a relative        indicator, the relative indicator indicating how full that user        equipment's data buffer is in comparison to the data buffers of        the other user equipments; and    -   scheduling uplink transmissions in dependence on the relative        indicators.

The present invention provides the advantage that uplink schedulingdecisions can be made using knowledge of the relative amounts of data inthe buffers of the user equipments. This may allow better use to be madeof the available resources, which may result in better throughput, lowerpacket delays, and better quality of service.

For each user equipment, either a single relative indicator or aplurality of relative indicators may be determined. By using a pluralityof relative indicators, each user equipment may have a better idea ofits overall status in comparison to other user equipments. Where asingle relative indicator is determined for each user equipment, thismay be one of an indication of how full the user equipment's buffer isin comparison to the average, and an indication of how full the userequipment's buffer is in comparison to the minimum. Otherwise, both anindication of how full the user equipment's buffer is in comparison tothe average, and an indication of how full a user equipment's buffer isin comparison to the minimum may be determined.

The base station is in communication with all of the user equipments,and therefore may be in the best position to compare the amount of datain the data buffers of the user equipments. Therefore the comparing stepmay be carried out by the base station, although it could be carried outelsewhere, such at an radio network controller (RNC), or at userequipments themselves, if appropriate.

The method may comprise the step of transmitting the or each relativeindicator for each user equipment from the base station to that userequipment. In this way, each user equipment is given some knowledge ofthe state of the buffer in the other user equipments, which it can useto make scheduling decisions. Alternatively, the base station maydetermine, based on the or each relative indicator, a transmissionformat to be used by a user equipment in scheduling uplink transmissionsfrom the user equipment to the base station. The base station may thentransmit to the user equipment an indication of the transmission formatto be used by the user equipment. For example, the base station maytransmit a rate and/or time (e.g. waiting time) of packet transmissionto the user equipment.

In order for the base station to compare the amount of data in the databuffers of the user equipments, it must have available the actual amountof data in each data buffer. In order to achieve this, in oneembodiment, a user equipment determines an amount of data in its databuffer and transmits an indication of the amount of data to the basestation. If all of the user equipments transmit the amount of data intheir data buffers in this way, the base station is then in a positionto determine the relative indicators.

In order for the uplink scheduling to be effective, the relativeindicators are preferably updated on a regular basis. However, it may insome circumstances be undesirable for the user equipments to betransmitting indications of the amount of data in their data buffers ona regular basis. For example, if many user equipments are present, or alarge amount of data needs to be transmitted in the uplink, the extratransmissions involved in the reporting process may increase the amountof interference or congestion to an unacceptable level. Thus, in asecond embodiment, a user equipment sends to the base station anindication of the total amount of data to be sent, and the base stationdetermines the amount of data in the user equipment's data buffer basedon the indication of the total amount of data, and the amount of dataalready received by the base station from that user equipment. This canreduce the number of transmissions involved in the reporting process inthe uplink.

Each user equipment may determine a rate and/or time at which ittransmits data to the base station based on the or each relativeindicator for that user equipment. For example, a user equipment whichreceives an relative indicator indicating that it has a relatively fullbuffer may transmit data to the base station at a higher rate than wouldotherwise be the case (all other things being equal). On the other hand,a user equipment which receives a relative indicator indicating that ithas a relatively empty buffer may transmit data to the base station at alower rate than would otherwise be the case. In this way, the amount ofdata in the data buffers of the user equipments can brought intoapproximate equilibrium, so that all of the data buffers haveapproximately the same occupancy. This increases the fairness of thesystem, and may also improve the overall throughput.

The user equipment may determine the time and/or rate at which ittransmits data based additionally on a measurement of radio channelconditions, such a signal to noise and interference ratio (SNIR). Thiscan allow the user equipment to take advantage of good radio conditions,where they exist, by transmitting at a higher rate than would otherwisebe the case. On the other hand, a user equipment with poor radioconditions may decide not to increase its transmission rate when itmight otherwise have done so, since it would see little benefit fromdoing so. The user equipment may determine the measure of radio channelconditions itself, or it may receive it from the base station or thenetwork or elsewhere.

The user equipment may determine the time and/or rate of packettransmission based additionally on the actual amount of data in its databuffer, rather than just the relative indicators. This can allow thescheduling to be based partially on the absolute amount of data in itsbuffer, which may lead to better decisions. For example, the amount ofdata in the buffer may be compared to a threshold, such as a minimumbuffer threshold.

The user equipment may determine the time and/or rate of packettransmission based additionally on the type of service. In general, userequipments transmitting services with a higher priority or which aremore time critical may be allowed to more often or at a greater ratethan services with a lower priority or which are less time critical. Forexample, video services may be given greater priority than web pages.

Each user equipment may be assigned a minimum buffer threshold. Ingeneral, if the amount of data in the data buffer is below thethreshold, then the user equipment will not ransmit. However, thiscondition may be overridden where the user equipment receives a relativeindicator indicating that it has more data to transmit than other userequipments. Therefore a user equipment which receives a relativeindicator indicating that it has more data to transmit than other userequipments may transmit data to the base station even if the amount ofdata in its data buffer is below a minimum buffer threshold.

The uplink transmissions may be scheduled using rate scheduling, or theymay be scheduled using hybrid rate-time scheduling. Hybrid rate-timescheduling may be preferred in some circumstances because of the greaterflexibility which it offers. For example, it can allow a poorlyperforming user equipment to recover quickly by allowing it to transmiton its own or with few other user equipments for a certain period oftime. However, in other circumstances hybrid rate-time scheduling maynot be appropriate; for example the delays which may result in somechannels may not be tolerated by the power control mechanism. Thereforethe method may also include a step of switching from one to the other ofrate scheduling and hybrid rate-time scheduling. The decision to switchfrom one to the other may be based on some measure of a systemparameter, such as a measure of whether power control is being performedwithin acceptable parameters, or whether interference diversity iswithin acceptable levels.

In one example, the rate of uplink transmission is varied by adjustingthe modulation and coding scheme level. In other example the rate ofuplink transmission is varied by adjusting the intervals at which theuplink transmissions take place. A user equipment may also increase itsrate of uplink transmissions by adapting its spreading code, or byoccupying two or more channels. Any other appropriate technique forvarying the rate of uplink transmission could be used as well or insteadof these techniques.

According to a second aspect of the invention there is provided a basestation for receiving data transmissions from a plurality of userequipments, the base station comprising:

-   -   means for determining the amount of data in a data buffer of        each of the user equipments;    -   means for comparing the amount of data in the data buffers of        the user equipments to obtain, for each user equipment, a        relative indicator, the relative indicator indicating how full        that user equipment's data buffer is in comparison to the data        buffers of the other user equipments; and    -   means for transmitting the relative indicator for each user        equipment from the base station to that user equipment.

The determining means may be arranged to determine, for each userequipment, an indication of how full that user equipment's buffer is incomparison to the average. Alternatively or in addition, the determiningmeans may be arranged to determine, for each user equipment, anindication of how full that user equipment's buffer is in comparison tothe minimum. The base station may comprise means for receiving from auser equipment an indication of the amount of data that that userequipment has in its data buffer. The base station may further comprisemeans for receiving from a user equipment an indication of a totalamount of data to be sent by that user equipment, and means fordetermining the amount of data in the user equipment's data buffer basedon the indication of the total amount of data, and the amount of dataalready received by the base station from that user equipment.

According to a third aspect of the present invention there is provided auser equipment comprising:

-   -   a data buffer;    -   means for determining the amount of data in the data buffer;    -   means for transmitting an indication of the amount of data in        the data buffer to a base station;    -   means for receiving from the base station a relative indicator,        the relative indicator indicating how full the data buffer is in        comparison to the data buffers of other user equipments; and    -   means for scheduling uplink transmissions to the base station in        dependence on the relative indicator.

According to a fourth aspect of the present invention there is provideda user equipment comprising:

-   -   a data buffer;    -   means for determining an amount of data to be transmitted in a        call;    -   means for transmitting, to a base station, an indication of the        amount of data to be transmitted in the call;    -   means for transmitting data from the data buffer to the base        station;    -   means for receiving from the base station a relative indicator,        the relative indicator indicating how full the data buffer is in        comparison to the data buffers of other user equipments; and    -   means for scheduling uplink transmissions to the base station in        dependence on the relative indicator.

In either the third or fourth aspect, the scheduling means may determinea rate and/or time at which data is to be transmitted to the basestation based on the relative indicator. The scheduling means may bearranged such that data is transmitted to the base station at a higherrate than would otherwise be the case when the user equipment receives arelative indicator indicating that it has a relatively full buffer. Thescheduling means may also or alternatively be arranged such that data istransmitted to the base station at a lower rate than would otherwise bethe case when the user equipment receives a relative indicatorindicating that it has a relatively empty buffer. The scheduling meansmay be arranged to determine the time and/or rate at which data istransmitted based additionally on a measurement of radio channelconditions. The scheduling means may be arranged to determine the timeand/or rate of data transmission based additionally on the type ofservice. The scheduling means may be arranged to determine the timeand/or rate of data transmission based additionally on the or a amountof data which is determined to be in its data buffer.

The data buffer in the user equipment may be assigned a minimum bufferthreshold. In general, if the amount of data in the data buffer is belowthe threshold, then the user equipment will not transmit. However, thiscondition may be overridden where the user equipment receives a relativeindicator indicating that it has a relatively large amount of data totransmit. The scheduling means may be arranged such that data istransmitted even when the amount of data in the data buffer is below aminimum buffer threshold, when the user equipment receives a relativeindicator indicating that it has more data to transmit than other userequipments.

In another aspect of the invention there is provided a base stationwhich receives data transmissions from a plurality of user equipments,the base station comprising:

-   -   a calculation unit which compares the amount of data in the data        buffers of the user equipments to obtain, for each user        equipment, a relative indicator, the relative indicator        indicating how full that user equipment's data buffer is in        comparison to the data buffers of the other user equipments; and    -   a transmitter which transmits the relative indicator for each        user equipment from the base station to that user equipment.

The base station may comprise a receiver which receives from a userequipment an indication of the amount of data that that user equipmenthas in its data buffer. Otherwise or in addition the base station maycomprise a receiver for receiving from a user equipment an indication ofa total amount of data to be sent by that user equipment, and thecalculating unit may determine the amount of data in the userequipment's data buffer based on the indication of the total amount ofdata, and the amount of data already received by the base station fromthat user equipment.

In another aspect of the invention there is provided a user equipmentcomprising:

-   -   a data buffer;    -   a unit which determines the amount of data in the data buffer;    -   a transmitter which transmits an indication of the amount of        data in the data buffer to a base station;    -   a receiver which receives from the base station a relative        indicator, the relative indicator indicating how full the data        buffer is in comparison to the data buffers of other user        equipments; and    -   a scheduler which schedules uplink transmissions to the base        station in dependence on the relative indicator.

In a further aspect of the invention there is provided a a userequipment comprising:

-   -   a data buffer;    -   a unit which determines an amount of data to be transmitted in a        call;    -   a transmitter which transmits, to a base station, an indication        of the amount of data to be transmitted in the call, and which        transmits data from the data buffer to the base station;    -   a receiver which receives from the base station a relative        indicator, the relative indicator indicating how full the data        buffer is in comparison to the data buffers of other user        equipments; and    -   a scheduler which schedules uplink transmissions to the base        station in dependence on the relative indicator.

Features of one aspect of the invention may be applied to any otheraspect. Any of the method features may be applied to any of theapparatus aspects and vice versa.

In any of the above aspects, the various features may be implemented inhardware, or as software modules running on one or more processors.

The invention also provides computer programs and computer programproducts for carrying out any of the methods described herein, andcomputer readable media having stored thereon programs for carrying outany of the methods described herein. A computer program embodying theinvention may be stored on a computer-readable medium, or it could, forexample, be in the form of a signal such as a downloadable data signalprovided from an Internet web site, or it could be in any other form.

Preferred features of the present invention will now be described,purely by way of example, with reference to the the accompanyingdrawings, in which:—

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows parts of a wireless communications system;

FIG. 2 shows parts of a user equipment in a first embodiment of theinvention;

FIG. 3 shows parts of a base station in a first embodiment of theinvention;

FIG. 4 shows parts of a base station in a second embodiment of theinvention; and

FIG. 5 shows an example of the operation of an embodiment of theinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment

In the first embodiment of the invention an algorithm is implementedwhich enables the uplink scheduler to become in effect virtuallycentralised and non-distributed. This enables the UEs to make betterdecisions on bit rate or waiting time or format of uplink transmissionby having available information about the status of other source UEs inthe same cell in the uplink. In this embodiment it is assumed that, asshown in FIG. 1, the base station serves a number of source UEs anddestination UEs, and each UE is assigned a packet data buffer.

Each of the source UEs is grouped into a particular service groupdepending on the delay tolerance of the data that it is transmitting.The delay tolerance is a measure of the maximum acceptable time for adata packet to reach its destination. For example, video services mayhave a low delay tolerance of, say, 100 mS, while web services may havea relatively high delay tolerance.

During each uplink scheduling event, each source UE determines theamount of packet data existing in its buffer and waiting fortransmission. Assuming the n-th source UE belongs to the j-th servicegroup with the same delay tolerance, each source UE divides this valueby the maximum length of its data buffer to obtain a ratio of bufferoccupancy, as followsBuffer_Norm_(—) L _(n)(m)=L _(n)(m)/L _(max,j) , n=1 . . . N _(j)  (1)where L_(n)(m) is the amount of data in the buffer, the index mrepresents the current TTI or uplink scheduling event, N is the totalnumber of source UEs, and L_(max,j) is the maximum packet data bufferlength which depends on the service group j. Each UE multiplies thisvalue Buffer_Norm_L_(n)(m) by 100 and takes the integer part to obtain avalue referred to herein as the buffer occupancy value. Each UE thensends this value to the base station. As an alternative the real numericvalue between zero and one could be sent.

The base station receives the buffer occupancy value from each UE servedin the uplink. The base station is also aware of the maximum data bufferassigned to each service, and thus the base station can determine theamount of packet data is currently waiting in each source UE's bufferfor transmission. The base station groups the source UEs according totheir service class. It then determines the distance of the ratio sentby each source UE from the minimum ratio in each class, as followsDistance_min_(n)(m)=Buffer_Norm_(—) L _(n)(m)−Buffer_Norm_(—) L_(min,j)(m), n=1 . . . N _(j)  (2)where Nj represents the number of present UEs in class j.

To increase the homogeneous behaviour of the metric, if desired, thedistance from minimum value may be subject to a secondary normalised andmathematical mapping, by dividing the distance by the sum of all thedistances.

Then the base station determines the distance of the ratio sent by eachUE from the average ratio in a class of UEs. To do that the base stationfirst determines the average received ratio as follows

$\begin{matrix}{{{Avg\_ Ratio}_{j}(m)} = {\frac{1}{N_{j}}{\sum\limits_{i = 1}^{N_{i}}\;{{Buffer\_ Norm}{\_ L}_{i}(m)}}}} & (3)\end{matrix}$

If desired, this metric may also be subject to a secondary normalisedand mathematical mapping, by dividing the average received ratio by thesum of all of the received ratios.

The distance from average is expressed asDistance_Avg_(n)(m)=Buffer_Norm_(—) L _(n)(m)−Avg_Ratio_(j)(m), n=1 . .. N _(j)  (4)

The base station converts the distance from minimum value and thedistance from average value to two information bytes and sends them backto the source UEs in the current uplink scheduling event.

Each source UE thus receives two values from the base station, oneindicating how full its buffer is in comparison to the least full buffer(distance from minimum), and one indication how full its buffer is incomparison to the average (distance from average). The UE combines thesetwo relative values with its knowledge about the exact amount of packetdata in its buffer and with its own knowledge on radio channel conditionin terms of SINR (signal to noise and interference ratio) to produce afinal metric, as follows.Final_Metric_(k)(m)=COMBI(Distance_Avg_(k)(m), Distance_min_(k)(m),Ch_(k)(m))  (5)where Ch_(k)(m) is the knowledge about the quality of the channel in theuplink between the kth source UE and the base station, and COMBI is afunction that combines this metric with the distance from average andthe distance from minimum.

The UE uses its final metric to determine the rate and/or times at whichit transmits its data packets. In general, UEs with a high final metric,indicating a higher buffer occupancy in comparison to other UEs,transmit at a higher rate. In this way the various UEs can be broughtinto a situation where they have similar levels of buffer occupancy.Further details of the scheduling mechanism are given later.

User Equipment

FIG. 2 shows parts of a user equipment in an embodiment of theinvention. Referring to FIG. 2, buffer 10 receives data packets whichare to be transmitted and stores them on a first-in-first-out basis.Packets for transmission are output from the buffer 10 under control ofscheduler 12.

A signal indicating the number of packets currently stored is outputfrom the buffer 10 to buffer occupancy value calculation unit 14. Thisunit divides the number of stored packets by the maximum length of thebuffer to yield the ratio of stored packets to maximum buffer length, inaccordance with equation (1) above. The unit 14 then multiplies thisvalue by 100 and takes the integer part to give a value between 1 and100, referred to herein as the buffer occupancy value.

The buffer occupancy value calculated by unit 14 is output tomultiplexer 16. The multiplexer 16 inserts the value into a controlchannel which is to be transmitted in the uplink to the base station.Packets output from the buffer 10 are inserted into a data channel. Thecombined signal is then given a channelisation code by spreader 18, andtransmitted to the base station by means of transmitter 20, duplexer 22and antenna 24. Where the user equipment has two or more active basestations, an appropriate channelisation code is used for each basestation.

Signals from the base station are received by receiver 26 via antenna 24and duplexer 22. Signals intended for that particular user equipment areseparated from other signals by despreader 28. The output of despreader28 is a control channel containing control information for, amongstother things, power control. In this embodiment the control channel alsocontains the distance from average and distance from minimum valuestransmitted by the base station.

Channel quality indicator 30 estimates the quality of the channelbetween the user equipment and the base station. Any suitable measure ofquality can be produced; for example, a received signal strength (RSS)or power measure, a bit error rate (BER) or a frame error rate (FER)measure, or a signal-to-interference ratio (SIR) or asignal-to-interference-and-noise ratio (SINR) measure could be produced.The measure could be based on a pilot signal broadcast by the basestation. For example, the strength of the pilot signal could be taken asa measure of signal quality, or the base station may also broadcast thetransmit power ratio of a data channel to the pilot channel, and thisratio could be used in conjunction with the pilot signal strength toobtain a measure of signal quality. Alternatively the measure could bederived from transmission power control (TCP) information (such as apower up/power down instruction) generated in the user equipment fordownlink power control purposes. Any of the measures could be based on ahistory or average of measurements taken over several measurementperiods. Two or more measures could be combined, if desired. The outputof channel quality indicator 30 is fed to final metric calculation unit32.

Demultiplexer 34 separates the distance from average and distance fromminimum values from the control channel, and passes these values tofinal metric calculation unit 32. Final metric calculation unit 32combines the distance from average value, the distance from minimumvalue, the channel quality value and the number of stored packets value(output from buffer 10) to yield a final metric, in accordance withequation (5) above. The final metric is output to scheduler 12 for usein scheduling uplink data packet transmissions.

The above reporting processes are repeated at appropriate intervals. Forexample, the buffer occupancy value may be calculated in the UE andtransmitted to the base station every Time Transmission Interval (TTI).Similarly the distance from average values and the distance from minimumvalues may be calculated in the base station and transmitted to thesource UEs every TTI. Any of these processes may also be carried outevery two or more TTIs where appropriate. For example, when the uplinkchannel resources are fully utilised, or nearly fully utilised, it maybe desirable to reduce the amount of data which is transmitted for thepurposes of scheduling. In this case the reporting processes may onlytake place every few TTIs. The intervals at which the reportingprocesses take place may be varied, for example, depending on trafficconditions in the cell or sector.

Base Station

FIG. 3 shows parts of a base station in an embodiment of the invention.Referring to FIG. 3, the signals from source user equipments arereceived by receiver 44 via antenna 40 and duplexer 42. The receivedsignals are passed to a plurality of despreaders 46. Each of thedespreaders uses the channelisation code employed in one of the uplinkchannels from the source UEs to the base station in order to separatethe data packets transmitted by that source UE. In this way, the datapackets from the various source UEs are separated into separate signals.

The outputs of each one of the despreaders 46 is input to one of aplurality of demultiplexers 48. Each of the demultiplexers separates outthe buffer occupancy value from the control channel which is transmittedby the corresponding UE. The data packets for onward transmission to thedestination UEs are output to buffers 50, one buffer being provided foreach destination UE.

The buffer occupancy values output from the demultiplexers 48 are fed todistance from average calculation units 52 and distance from minimumcalculation units 54. Each of the distance from average calculationunits 52 calculates the distance of the buffer occupancy value of one ofthe source UEs from the average buffer occupancy value in that class, inaccordance with equations (3) and (4) above. Each of the distance fromminimum calculation units 54 calculates the distance of the bufferoccupancy value of one of the source UEs from the minimum bufferoccupancy value in that class, in accordance with equation (2) above.The outputs of distance from average calculation units 52 and distancefrom minimum calculation units 54 are therefore the distance fromaverage values and the distance from minimum values respectively foreach source UE.

The distance from average values and the distance from minimum valuesare fed to multiplexers 56. Each of the multiplexers 56 multiplexes thedistance from average value and the distance from minimum value for oneof the source UEs into a control channel that is to be transmitted tothat UE. The various control channels are then given channelisationcodes by spreaders 58 and transmitted to the source UEs by means oftransmitter 60, duplexer 42 and antenna 40.

Scheduling Algorithm

In the present embodiment two different uplink scheduling mechanisms areused, depending on the overall status of the communications system. Thefirst mechanism is a hybrid rate-time scheduling mechanism. In thismechanism, unlike pure time scheduling, one UE does not occupy all ofthe uplink resources at any one time. On the other hand, unlike purerate scheduling, not all of the UEs are transmitting all of the time.Instead, each UE is able to vary the rate and the intervals at which ittransmits.

In the hybrid rate-time scheduler, each UE has an active mode withinwhich it is allowed by the uplink scheduling functionality to transmit.The UE can also adjust the rate at which it transmits when in the activemode. This transmission period may be, for example, one TTI, or onedownlink scheduling event. Each UE also has a silent mode in which itdoes not transmit. The UE may experience alternate active periods andsilent periods. In this way the UE effectively combines rate schedulingand time scheduling.

In some circumstances the delay which results from time scheduling inthe hybrid rate-time scheduler can not be tolerated by the power controlmechanism. Therefore the second scheduling mechanism which may be usedis a rate scheduling mechanism which avoids the silent transmissionperiods which are experienced in the hybrid rate-time scheduler. In thesecond scheduling mechanism the silent time is zero, and therefore allof the source UEs transmit at the same time, in a similar way to WCDMArate scheduling. However, each UE may vary its rate of transmission.

In both rate scheduling and hybrid rate-time scheduling, the rate oftransmission may be varied by adjusting the Modulation and Coding Scheme(MCS) level. The MCS level is decided by the UE based on the finalmetric which it has calculated. This may be done, for example, byconsulting a look-up table which includes the appropriate MCS levels foreach value of the final metric.

In the hybrid rate-time scheduler, in order to decide when to transmit,each UE makes use of an assigned maximum acceptable waiting time orsleeping time. This is a value which is assigned to the UE depending onthe type of service, and gives the maximum time which it is acceptablefor a data packet to wait at the UE before being transmitted. Each UEthen determines an actual waiting time for its data packets based on themaximum waiting time and the final metric. By adjusting the actualwaiting time of the data packets, the UE in effect adjusts its datatransmission rate.

When a UE receives a high distance from minimum value and a highdistance from average value, it knows that it has a relatively largeamount of data to transmit. The UE is also aware of the actual amount ofdata which it has in its buffer waiting to be transmitted. If the actualamount of data which the UE has to deliver is also high, then the UEwill switch to a high data rate for a certain amount of time, such as afew TTIs or uplink scheduling events. Where the actual amount of data totransmit is not so great the data rate may be set accordingly, to avoidtransmitting at high powers for short amounts of time.

Similarly, when a UE receives a low distance from minimum value and alow distance from average value, it knows that the amount of data in itsbuffer is well below average. In this case the UE will reduce itstransmission rate. The result is a balancing of the UE buffer lengths:UEs with a large amount of data waiting to transmit will have the chanceto catch up with other UEs and to reduce their buffer occupancy to lowerlevels which are closer to average. In this way controllable fairness isintroduced into the uplink packet scheduling.

The radio conditions in the uplink can also be used to influence thedecision making process. For example, if radio conditions are good and aUE has a large amount of data to transmit, then that UE may transmit ata higher rate than if the radio conditions were not so good. If theradio conditions are poor, then, even if the UE has a large amount ofdata to transmit, it may have to accept a lower transmission rate toavoid degrading the uplink channel for relatively little gain. If theradio channel conditions are superb, a UE having a fairly low bufferoccupancy might still increase its transmission rate somewhat. In thisway the need for fairness is balanced with the need for high overallthroughput.

The distance from minimum and distance from average values can also beused to override an assigned minimum buffer threshold. In general, ifthe amount of data a UE's data buffer is below the threshold, then theUE will not transmit. However, this condition may be overridden where aUE determines that it has more data to transmit than the other UEs.Thus, if the UE's buffer is below the threshold, but the other UEs alsohave little data to transmit, the first UE can still transmit and thusavoid unnecessary delay and under-utilisation of radio resources.

Second Embodiment

In the first embodiment of the invention a buffer occupancy value issent from each source user equipment to the base station everyscheduling event, which may be every TTI, or every few TTIs. However, insome circumstances even reporting every few TTI may be undesirablebecause of the channel resources which are occupied. Thus, in a secondembodiment of the invention, rather than transmit the buffer occupancyvalues to the base station at every scheduling event, the base stationestimates the buffer occupancy values based on information transmittedto it at the beginning of a call, together with its own knowledge of howmany packets it has received from a particular UE.

In this embodiment it is assumed that each UE is capable of determiningthe amount of packet data to be sent at the beginning of packet call.Each UE then sends this value to the base station. As communicationproceeds further, the base station estimates the amount of dataremaining in each UE buffer based on these received values, and thenumber of packets that have been received from each UE. The estimatedvalues thus obtained are then used to determine distance from averagevalues and distance from minimum values, as in the first embodiment.

In the second embodiment the distance from average and distance fromminimum values are transmitted to the UEs for use in uplink schedulingin the same way as in the first embodiment. Thus this reporting processstill requires transmission to be made from the base station to the userequipments on a regular basis. However, since the present embodimentsare concerned with uplink scheduling, i.e. situations in which data isbeing sent from the user equipments to the base station, the extratransmissions in the downlink for the reporting process are unlikely tobe problematic.

A user equipment in the second embodiment is similar to that shown inFIG. 2 except that, instead of buffer occupancy calculation unit 14, atotal number of packets indicator is provided which inserts into thecontrol channel at the start of a packet call the total number ofpackets in that call.

FIG. 4 shows parts of a base station in the second embodiment. Thoseparts which are the same as in the base station shown in FIG. 3 aregiven the same reference numerals and are not described further.Referring to FIG. 4, each of the demultiplexers 62 separates out thetotal number of packets value which is transmitted by one of the sourceUEs at the start of a packet call. These values are stored in calllength indicators 64. The data packets for onward transmission to thedestination UEs are output to buffers 66, one buffer being provided foreach destination UE.

For each scheduling event, the number of packets received from each UEin the current packet call is output from the buffers 66 to number ofpackets received indicators 68. The total number of packets values fromunit 64, and the number of packets received values from unit 68, areoutput to buffer occupancy estimation units 70. Each of these unitsestimates the buffer occupancy for one of the source UEs. This may bedone, for example, by subtracting the number of packets received fromthe total number of packets for that UE. If desired, account could alsobe taken of the rate at which the UE buffer is expected to be filled.

The outputs of the buffer occupancy estimation units 70 are estimatedbuffer occupancy values for each of the source UEs. These values are fedto distance from average calculation units 72 and distance from minimumcalculation units 74. These units calculate the distance from averageand the distance from minimum values for each class, in a similar way tounits 52 and 54 described above with reference to FIG. 3. The outputs ofdistance from average calculation units 72 and distance from minimumcalculation units 74 are therefore estimated distance from averagevalues and estimated distance from minimum values respectively for eachsource UE.

The thus calculated distance from average values and the distance fromminimum values are fed to multiplexers 56 where they are multiplexedinto a control channel that is to be transmitted to that UE. The variouscontrol channels are then transmitted to the source UEs in the same wayas described above with reference to FIG. 3.

If desired, a combination of the first embodiment and the secondembodiment could be used. For example, some source UEs could reporttheir buffer occupancies at regular intervals using the firstembodiment, while other source UEs could have their buffer occupanciesestimated at the base station using the second embodiment. Each UE mayswitch from one technique to the other, for example, depending onchannel conditions.

EXAMPLES

An example of the operation of an embodiment of the invention will nowbe described with reference to FIG. 5. In FIG. 5 a situation is shown inwhich four source UEs A, B, C and D try to reach their correspondingdestination UEs A, B, C and D through the base station. It is assumedthat all the UEs experience similar radio channel conditions and SINR(signal to noise and interference ratio). They support streamingreal-time service with similar delay tolerances. In FIG. 5, C1 is thedistance from average value and C2 is the distance from minimum value.It can be seen that UE A has received C1=49 which means the amount ofdata in its buffer is well above the average amount of ratios of allUEs. It also receives a C2=75 meaning that it is far away from the UEwith minimum buffer data. Looking at its buffer this source UE realizesthat its packet data buffer is almost full and it needs to transmitfaster to empty its buffer to come down to reach average data levels.Among other UEs, UE D has received the poorest distance from average anddistance from minimum values. This UE will then have the slowesttransmission rate because it assumes that is has already transmittedsuccessfully enough and currently does not have much data fortransmission. Therefore its buffer will start to grow to reach averagelevel.

Thus embodiments of the present invention make each source UE aware ofits situation compared to other source UEs in its cell or sector, interms of packet data congestion and the amount of existing competitionfor radio channels. In making a decision about the transmission time(waiting time for other UEs) and transmission rate, the UE not only hasan idea about its radio channel and how full its buffer is, but also ithas an idea about the overall situation with other UEs. The UE istherefore able to make more efficient decisions. Significantly betterQoS, better throughput and lower packet delivery delays are expected asa consequence.

The various embodiments which have been described above may beimplemented using software modules running on a processor, for example adigital signal processor, or any other type of processor. Theprogramming of such modules will be apparent to the skilled person fromthe description of the various functions. The skilled person willappreciate that such modules may be programmed on any appropriateprocessor using any appropriate programming language. Alternatively,some or all of the functions described above may be implemented usingdedicated hardware.

It will be understood that the present invention has been describedabove purely by way of example, and modifications of detail can be madewithin the scope of the invention. For example, the instead oftransmitting the distance from average values and the distance fromminimum values for the base station to each user equipment, the basestation may transmit signals indicating to each base station when and/orat what rate to transmit. The invention may be used with multiplexingtechniques other than CDMA, such as time division multiple access(TDMA), frequency division multiplexing (FDM), hybrid TDMA/CDMA, or anyother appropriate multiplexing technique.

1. A method of scheduling uplink transmissions from a plurality ofsource user equipments to a base station, the method comprising:determining an amount of data in a data buffer of each of the pluralityof source user equipments; comparing the amount of data in the databuffer of each of the source user equipments to obtain, for each userequipment, at least one relative indicator, the at least one relativeindicator indicating how full a user equipment's data buffer is incomparison to data buffers of other user equipments in the plurality ofsaid source user equipments; and scheduling uplink transmissions independence on the at least one relative indicator.
 2. The methodaccording to claim 1, wherein a plurality of relative indicators aredetermined for each user equipment.
 3. The method according to claim 1,wherein one of the at least one relative indicator is an indication ofhow full the user equipment's data buffer is in comparison to an averagedata buffer data amount.
 4. The method according to claim 1, wherein oneof the at least one relative indicator is an indication of how full theuser equipment's data buffer is in comparison to a minimum data bufferdata amount.
 5. The method according to claim 1, wherein the comparingis carried out by the base station.
 6. The method according to claim 5,further comprising transmitting each of the at least one relativeindicator for each user equipment from the base station to that userequipment.
 7. The method according to claim 1, wherein the userequipment determines an amount of data in its data buffer and transmitsan indication of the amount of data to the base station.
 8. The methodaccording to claim 1, wherein the user equipment sends to the basestation an indication of a total amount of data to be sent, and the basestation determines the amount of data in the user equipment's databuffer based on the indication of the total amount of data, and anamount of data already received by the base station from that userequipment.
 9. The method according to claim 1, wherein each userequipment determines a rate and/or time at which it transmits data tothe base station based on the at least one relative indicator for thatuser equipment.
 10. The method according to claim 9, wherein the userequipment which receives the relative indicator indicating that it has arelatively full buffer transmits data to the base station at a higherrate than would otherwise be the case.
 11. The method according to claim9, wherein the user equipment which receives the relative indicatorindicating that it has a relatively empty buffer transmits data to thebase station at a lower rate than would otherwise be the case.
 12. Themethod according to claim 9, wherein the user equipment determines thetime and/or rate at which it transmits data based additionally on ameasurement of radio channel conditions.
 13. The method according toclaim 9, wherein the user equipment determines the time and/or rate ofpacket transmission based additionally on an actual amount of data inits data buffer.
 14. The method according to claim 9, wherein the userequipment determines the time and/or rate of packet transmission basedadditionally on a type of service.
 15. The method according to claim 1,wherein the user equipment which receives the relative indicatorindicating that it has more data to transmit than other user equipmentstransmits data to the base station even if the amount of data in itsdata buffer is below a minimum buffer threshold.
 16. The methodaccording to claim 1, wherein the uplink transmissions are scheduledusing rate scheduling.
 17. The method according to claim 1, wherein theuplink transmissions are scheduled using hybrid rate-time scheduling.18. The method according to claim 1, wherein a rate of the uplinktransmissions is varied by adjusting a modulation and coding schemelevel.
 19. The method according to claim 1, wherein a rate of the uplinktransmissions is varied by adjusting intervals at which the uplinktransmissions take place.
 20. A base station for receiving datatransmissions from a plurality of user equipments, the base stationcomprising: a determining unit which determines an amount of data in adata buffer of each of the user equipments; a comparing unit whichcompares the amounts of data in the data buffers of the plurality of theuser equipments to obtain, for each user equipment, a relativeindicator, the relative indicator indicating how full said each userequipment's data buffer is in comparison to the data buffers of otheruser equipments within the plurality of said user equipments; and atransmitting unit which transmits the relative indicator for each userequipment from the base station to said each user equipment.
 21. Thebase station according to claim 20, wherein the determining unit isarranged to determine, for each user equipment, an indication of howfull that user equipment's buffer is in comparison to an average databuffer data amount.
 22. The base station according to claim 20, whereinthe determining unit is arranged to determine, for each user equipment,an indication of how full that user equipment's buffer is in comparisonto a minimum data buffer data amount.
 23. The base station according toclaim 20, wherein the base station comprises a receiving unit whichreceives from the user equipment an indication of the amount of datathat that user equipment has in its data buffer.
 24. The base stationaccording to claim 20, wherein the base station further comprises: areceiving unit which receives from the user equipment an indication of atotal amount of data to be sent by that user equipment; and saiddetermining unit determines the amount of data in the user equipment'sdata buffer based on an indication of a total amount of data, and anamount of data already received by the base station from that userequipment.
 25. A user equipment comprising: a data buffer; atransmitting unit which transmits to a base station informationconcerning an amount of data to be transmitted; a receiving unit whichreceives from the base station a relative indicator, the relativeindicator indicating how full the data buffer is in comparison to databuffers of other user equipments served by that base station; and ascheduling unit which schedules uplink transmissions to the base stationin dependence on the relative indicator.
 26. The user equipmentaccording to claim 25, further comprising a determining unit whichdetermines the amount of data in the data buffer, wherein thetransmitting unit is arranged to transmit an indication of the amount ofdata in the data buffer to the base station.
 27. The user equipmentcomprising according to claim 25, further comprising a determining unitwhich determines the amount of data to be transmitted in a call, whereinthe transmitting unit is arranged to transmit an indication of theamount of data to be transmitted in the call.
 28. The user equipmentaccording to claim 25, wherein the scheduling unit is arranged todetermine a rate and/or time at which data is to be transmitted to thebase station based on the relative indicator.
 29. The user equipmentaccording to claim 28, wherein the scheduling unit is arranged such thatthe data is transmitted to the base station at a higher rate than wouldotherwise be the case when the user equipment receives the relativeindicator indicating that it has a relatively full buffer.
 30. The userequipment according to claim 28, wherein the scheduling unit is arrangedsuch that the data is transmitted to the base station at a lower ratethan would otherwise be the case when the user equipment receives therelative indicator indicating that it has a relatively empty buffer. 31.The user equipment according to claim 28, further comprising ameasurement unit which determines a measurement of radio channelconditions, wherein the scheduling unit is arranged to determine thetime and/or rate at which data is transmitted based additionally on themeasurement of the radio channel conditions.
 32. The user equipmentaccording to claim 28, wherein the scheduling unit is arranged todetermine the time and/or rate of data transmission based additionallyon a type of service.
 33. The user equipment according to claim 28,wherein the scheduling unit is arranged to determine the time and/orrate of data transmission based additionally on an amount of data whichis determined to be in its data buffer.
 34. The user equipment accordingto claim 25, wherein the scheduling unit is arranged such that data istransmitted even when the amount of data in the data buffer is below aminimum buffer threshold, when the user equipment receives a relativeindicator indicating that it has more data to transmit than other userequipments.
 35. A method for scheduling uplink data transmission from aplurality of mobile stations to a base station, said method comprising:transmitting respective data amount information from said plurality ofmobile stations to said base station; transmitting a respectiveindicator, which is used for deciding on a transmission data rate for anamount of data to be transmitted by an uplink by adjusting modulationand coding scheme, to each of said plurality of mobile stations fromsaid base station; and transmitting data from at least one of saidplurality of mobile stations, wherein an amount of said data is decidedby adjusting modulation and coding scheme based on the respectiveindicator which is transmitted to said mobile station.
 36. The methodaccording to claim 35, wherein said uplink data transmission isconducted by using code division multiplexing.
 37. The method accordingto claim 35, wherein said amount of said data is adjusted in accordancewith radio communication quality between said mobile station and saidbase station.
 38. A mobile station used in a mobile communication systemin which uplink data transmission is conducted from a plurality ofmobile stations including said mobile station to a base station, saidmobile station comprising: a transmitter configured to transmit dataamount information to said base station; a receiver configured toreceive an indicator, which is used for deciding on a transmission datarate for an amount of data to be transmitted by an uplink by adjustingmodulation and coding scheme, transmitted from said base station, whichreceives respective data amount information from said plurality ofmobile stations; and a scheduler configured to schedule the amount ofdata to be transmitted from said mobile station via the uplink byadjusting modulation and coding scheme based on said indicator receivedby said mobile station.
 39. The mobile station according to claim 38,wherein said uplink data transmission is conducted by using codedivision multiplexing.
 40. The method according to claim 38, whereinsaid amount of said data is adjusted in accordance with radiocommunication quality between said mobile station and said base station.41. A base station used in a mobile communication system in which uplinkdata transmission is conducted from a plurality of mobile stations tosaid base station said base station comprising: a receiver configured toreceive respective information relating to a data amount from aplurality of mobile stations; a transmitter configured to transmit arespective indicator, which is used for deciding on a transmission datarate for an amount of data to be transmitted via an uplink by adjustingmodulation and coding scheme, to each of said plurality of mobilestations.
 42. The base station according to claim 41, wherein saiduplink data transmission is conducted by using code divisionmultiplexing.
 43. The base station according to claim 41, wherein saidamount of said data is adjusted in accordance with radio communicationquality between each of said mobile stations and said base station.